' Theremino Automation

' Program SPL OK - Demostrating GCode control with Theremino ARM

' Slot GcodeAutomation = 30 (in the Theremino ARM application)

' --------------------------------------------- Initializations
Button 1 Slot 8
Button 2 Slot 9

Button 1 Text Start
Button 2 Text Reset
Button 3 Text Salita
Button 4 Text Rotazione
Button 5 Text Discesa

Button 1 Enabled
Button 2 Enabled
Button 3 Enabled
Button 4 Enabled
Button 5 Enabled
Stop

' --------------------------------------------- Reset
Label Reset
	Slot 30 = -1
	Slot 20 = 0
	Slot 21 = 0
	Slot 22 = 0
	Slot 23 = 0
	Slot 24 = 0
	Slot 25 = 0
	Slot 26 = 0
	Slot 27 = 0
Stop

' --------------------------------------------- Functions
Label salita
	Slot 1 = Sleep
	Slot 2 = Sleep
	Slot 3 = Sleep
Stop

Label rotazione
	Slot 1 = Sleep
	Slot 2 = Sleep
	Slot 3 = Sleep
Stop

Label discesa
	Slot 1 = Sleep
	Slot 2 = Sleep
	Slot 3 = Sleep
Stop

' --------------------------------------------- Start normal execution
Label Start
	Slot 20 = 1000    	' Start rulliera ingresso
	' ---------------------------------------------
	Wait Slot(10) < 500	' attesa sensore 1 
	Slot 21 = 1000   	' Start rulliera centrale
	' ---------------------------------------
	'Wait Slot(11) < 500 ' attesa sensore 2
	Slot 20 = 0			' Stop rulliera ingresso
	Slot 21 = 0			' Stop rulliera centrale
	'Wait Seconds 1		' tempo attesa partenza Gcode 1 TETTO
	'Slot 30 = 1		' Start Gcode 1
	Wait Seconds 1     	' tempo attesa partenza dopo g code 1
	
	' --------------------------------------- ciclo SPL
	Slot 21 = 1000		' Start rulliera centrale avanti veloce
	Wait Seconds 7		' tempo di marcia avanti veloce
	Slot 21 = 0			' Stop rulliera centrale
	Wait Seconds 1		' tempo attesa partenza Gcode 2 BAULE 
	Slot 30 = 2			' Start Gcode 2
	Wait Slot(30) = -2 	' attesa fine GCode
	Wait Seconds 1		' tempo attesa partenza dopo g-code 2
	Slot 26 = 1000   	' Start rele per marcia indietro
	Slot 21 = 1000   	' Start rulliera centrale indietro
	Wait Slot(11)<500
	Wait Seconds 6		' tempo di marcia indietro veloce
	Slot 21 = 0			' Stop rulliera centrale
	Slot 26 = 0			' Stop rele marcia indietro
	Wait Seconds 0.5
	Slot 30 = 3			' Start Gcode 3
	Wait Slot(30) = -2 	' attesa fine GCode
	Wait Seconds 0.5 	' tempo attesa partenza dopo g code 3 COFANO 
	Slot 21 = 1000		' Start rulliera centrale marcia avanti
	Wait Slot(11)<500	' attesa sensore 2
	Slot 21 = 0			' Stop rulliera centrale con maccHina in pos. centrale
	Wait Seconds 1
	'------------------------------------------ESECUZIONE G CODE 4 FIANCO 1
	Slot 30 = 4			' Start Gcode 4
	Wait Slot(30) = -2 ' attesa fine GCode
	Wait Seconds 1
	'------------------------------ ciclo salita e rotazione piattello a 180
	Slot 23 = 1000    	' Start_Output(4)
	Wait Slot(15)<500	' Wait_Input(6)
	Slot 23 = 0			' Stop_Output(4)
	Wait Seconds 0.5
	Slot 24 = 1000		' Start_Output_5
	Wait Slot(17)<500	' Wait_Input(8)
	Slot 24 = 0			' Stop_Output(5)
	Wait Seconds 0.5
	'----------------------------- effettuata fine rotazione piattello a 180
	Slot 23 = 1000		' Start_Output(4)
	Wait Slot(14) <500	' Wait_Input(5)
	Slot 23 = 0			' Stop_Output(4)
	Wait Seconds 0.5
	'----------------------------- effettuata fine discesa e macchina a 180
	Slot 30 = 5			' Start Gcode 5
	Wait Slot(30) = -2 ' attesa fine GCode
	Wait Seconds 0.5
	'---------------------------- ciclo g-code 5 fatto FIANCO 2
	Slot 23 = 1000		' Start_Output(4)
	Wait Slot(15) <500 	' Wait_Input(6)
	Slot 23 = 0			' Stop_Output(4)
	Wait Seconds 0.5
	Slot 24 = 1000		' Start_Output(5)
	Wait Slot(16) <500	' Wait_Input(7)
	Slot 24 = 0			' Stop_Output(5)
	Wait Seconds 0.5
	'------------------------ effettuato ciclo salita e rotazione piattello in home a 0
	Slot 23 = 1000		' Start_Output(4)
	Wait Slot(14) <500	' Wait_Input(5)
	Slot 23 = 0			' Stop_Output(4)
	Wait Seconds 0.5
	'-------------------------- effettuato ciclo discesa macchina a 0 pronta a uscire
	Slot 21 = 1000		' Start_Output(2)   ' parte ultima volta rulliera 2
	Wait Seconds 2 
	Slot 22 = 1000		' Start_Output(3)   ' parte ultima volta rulliera 3
	Wait Slot(13) <500 	' Wait_Input(4)     ' fine ciclo con maccHina in uscita
	Slot 21 = 0			' Stop_Output(2)    ' Stop rulliera 2
	Slot 22 = 0			' Stop_Output(3)    ' Stop rulliera 3 e fine ciclo
	
'EXEC Slot(3) = 0 : Slot(4) = 0
